﻿namespace EveKillboard.Core
{
    using System;
    using System.ComponentModel.DataAnnotations;
    using Base;

    [Table("InvolvedParties")]
    public class Involved : InvolvedBase
    {
        [Key]
        [Column("ID")]
        public override int Id { get; set; }
        [Column("KillmailID")]
        public override int KillmailId { get; set; }
        [Column("CharacterID")]
        public override int CharacterId { get; set; }
        [Column("ShipID")]
        public override int? ShipId { get; set; }
        [Column("WeaponID")]
        public override int? WeaponId { get; set; }
        [Column("DamageDone")]
        public override int Damage { get; set; }
        [Column("IsFinalBlow")]
        public override bool IsFinalBlow { get; set; }
        [Column("IsTopDamage")]
        public override bool IsTopDamage { get; set; }
        [Column("Security",TypeName = "float")]
        public override float Security { get; set; }
        [Column("AllianceID")]
        public override int? AllianceId { get; set; }
        [Column("CorporationID")]
        public override int? CorporationId { get; set; }
        [Column("FactionID")]
        public override int? FactionId { get; set; }

        public virtual Character Character { get; set; }
        public virtual Killmail Killmail { get; set; }
        public virtual Item Ship { get; set; }
        public virtual Item Weapon { get; set; }
        public virtual Alliance Alliance { get; set; }
        public virtual Corporation Corporation { get; set; }
        public virtual Faction Faction { get; set; }
    }
}